Skip to content

Conversation

@oksanaguba
Copy link
Owner

No description provided.

@OkayHughes OkayHughes force-pushed the og/da branch 2 times, most recently from 2582627 to b3e46d1 Compare January 14, 2025 19:44
rljacob and others added 28 commits May 28, 2025 12:58
…7370)

The e3sm branch of the WW3 submodule was updated in E3SM-Project/WW3#4. That PR merged the existing WW3 development from the e3sm branch into develop. With the merge into develop, WW3 has switched to a cmake based build system. This PR implements the needed build system changes, so that WW3 is now built using cmake as part of the E3SM build process.

WW3 testing was done in E3SM-Project/WW3#3, but this PR was implicitly tested there since it was used to build the model.

[BFB] for all non-waves cases
…t#7261)

Adds a zonal average average diagnostic (zonal_avg),
where the given field is averaged in the zonal direction
over uniform latitude ranges. The user can specify how many
ranges to use via the num_lat_vals parameter.

The diagnostic uses the CMP tag with name "bin", so I/O is updated
to specifying dimension name binN where N is the number of bins.

[BFB]
…7215)

Add 3d thermal forcing to OCN-GLC coupling

This pull request extends the existing thermal-forcing coupling
functionality from a single depth to a predefined set of z-levels. The
implementation follows that of multiple elevation classes in the LND-GLC
coupling. A new xml variable is added, GLC_NZOC. It has a default value
of 0, meaning TF coupling is disabled. The standard value for when the
coupling is activated is 30, which follows the TF z-levels used by
ISMIP6. Other values are supported, and an additional example with 4
levels is included. A new coupler module, glc_zocnclass_mod.F90, is
added which is follows very closely from glc_elevclass_mod.F90. It
contains subroutines and functions to initialize the z-level classes and
to access the z-level values. It also has subroutines to provide the
z-level indices as strings, which the coupling field initialization code
and the component import/export routines uses to create GLC_NZOC fields,
one for each layer.

This 3d TF coupling is used for ice-sheet outlet glacier facemelting
(melting at vertical glacier margins terminating in the ocean), and so
is used for a process that we do not anticipate resolving explicitly in
MPAS-Ocean (or Omega). As such, this coupling should be included anytime
both OCN and GLC are active, and logic has been added so that this is
the case based on compset definition. There are versions of the GLC_NZOC
variable in both the MPAS-Ocean and MALI Registries so that it can be
set by namelist settings controlled by CIME/build operations.

The MPAS-Ocean mpas_ocn_time_average_coupled.F module has been modified
to loop over the z-levels and calculate TF at each one. Then, the time-
averaged 3d TF values are passed to the coupler, where they are remapped
to the GLC mesh and passed to MALI. MALI assigns the values to its
existing 3d TF field, and the uses its bathymetry-aware extrapolation
routine to extrapolate the TF values from the edge of the MPAS-Ocean
domain to wherever the ice-sheet margin is on the MALI mesh. From there,
the TF is used to force the facemelting parameterization. Mapping files
have been updated to not include extrapolation in the mapping so as to
allow the bathymetry-aware extrapolation in MALI to operate, where
appropriate.

The facemelting flux in MALI is exported to the previously unused
Fogg_rofi flux, which already gets combined in the coupler with ice
runoff to be imported in MPAS-Ocean in the Foxx_rofi flux. Long term, we
may want to separate these runoff fluxes so that the horizontal and
vertical distribution of facemelting can be handled differently than
other solid runoff, but this provides a reasonable first approximation.

Note that this 3d TF can also be used to force the ISMIP6 ice-shelf
basal melt parameterization in MALI, which provides a less sophisticated
alternative to using ice-shelf basal melt rates calculated in the
coupler (or MPAS-Ocean). This simpler approach will be used for the few,
small ice shelves in Greenland, which are not included in the MPAS-Ocean
meshes (and would not be resolved even if they were). This approach can
also be used for Antarctica as an alternative that avoids grounding line
migration issues in MPAS-Ocean by taking advantage of the TF
extrapolation in MALI. These different methods for ice-shelf basal melt
fluxes are handled through a new XML variable OCN_GLC_ISMF_COUPLING,
which specifies how ice-shelf melt fluxes are handled in both MPAS-Ocean
and MALI.

The previous 2d thermal forcing coupling has been removed. Tests have
been updated to test this new 3d TF capability for grids with both GIS
and AIS.

[NML]
[non-BFB] only for configurations with active MALI and ocn
…action-20' (PR E3SM-Project#7364)

Bumps DavidAnson/markdownlint-cli2-action from 19 to 20.
ZM cleanup - bug fix for compute_cape_diags

Address bug introduced in PR E3SM-Project#7232 in the call to compute_dilute_cape()
in compute_cape_diags().

Fixes E3SM-Project#7365
[BFB]

* whannah/eam/zm-cleanup-08-bug-fix:
  bug fix for ZM cape calculation in compute_cape_diags
Keep e3sm_eamxx_v1 running with all debug=true tests on CPU machines
Adjust PEs for GMPAS tests on Anvil.

[NML] -- due to PE changes
…ect#7381)

EAMxx: Fixed temporal interpolation for external forcings

Previously, prescribed vs EAMxx elevated emissions (bc_a4 for example) showed significantly large discrepancies:

   months     prescribed_emis          EAMxx    rel_diff (%)
0     jan  50.720847076634016        41.87359    21.128494
1     feb  33.052801575716245       33.808193    -2.234345
2     mar  34.564076987260805        34.10844     1.335847
3     apr    33.6571496550456        34.85354    -3.432618
4     may   36.04996553155214        46.04442   -21.706112
5     jun   56.01655671895189        71.36652   -21.508638
6     jul    86.6789942679998        98.19908   -11.731359
7     aug  109.69631225550144      105.578384     3.900351
8     sep   101.4825383463081         72.2314    40.496431
9     oct   43.06931282750091        37.60891    14.518909
10    nov   32.16846281675161       40.085526   -19.750428
11    dec  47.985367140309215       49.352615    -2.770366
As opposed to EAM-

   months     prescribed_emis            EAM        rel_diff (%)
0     jan   65.53070785855884    58.4741778369735    12.067771
1     feb  32.950843360402935   36.67505759330244   -10.154624
2     mar  33.296972174272504   32.59856770545893     2.142439
3     apr  28.873338098498838    31.1443850952515    -7.291995
4     may  41.523370000927116   41.45759393878491     0.158659
5     jun   49.88711151401323  54.040493434934405    -7.685685
6     jul   85.16360864281151    82.8069247826244     2.845999
7     aug   94.06291468483843   90.19021139784672     4.293929
8     sep   74.23516764683626   70.60245248538006      5.14531
9     oct   33.96152809508068  37.868317940064216   -10.316777
10    nov  31.705675644882124   33.74076635265753    -6.031549
11    dec   44.28931694279417   46.16966256252293    -4.072687
With this fix, prescribed vs EAMxx show similar behaviour as EAM
(Using identical emissions in the reference EAM run above)

   months     prescribed_emis      EAMxx   rel_diff (%)
0     jan   65.53070828175305   58.45631    12.102026
1     feb    32.9508434047515  36.658974   -10.115205
2     mar   33.29697212313313  32.588203     2.174924
3     apr   28.87333817845113  31.138515    -7.274519
4     may   41.52337000418099  41.451073     0.174416
5     jun   49.88711150420784  54.034306    -7.675113
6     jul   85.16360885120517  82.792755       2.8636
7     aug   94.06291452961088   90.16316     4.325217
8     sep   74.23516786718005   70.56994     5.193754
9     oct  33.961528086365256   37.84876   -10.270431
10    nov   31.70567563396028  33.733593    -6.011566
11    dec  44.289317262530815  46.165443    -4.063919
Note:

These changes apply only to external forcings. Other tracer types (e.g., oxidants, LINOZ) still follow the existing/default method.
The current implementation is only compatible with emission datasets that follow a periodic annual cycle.

[NBFB]

* taufiqhassan/eamxx/mamxx-time-interp-fix:
  added some comments for clarity
  initial fix for ELEV emis time interpolation
Update the default FATES parameter file and tag to API 40.

[NLDIFF] for FATES
[BFB]
it is not configuring even non glc cases without this
more changes will be needed for glc port to moab
…3SM-Project#7402)

EAMxx: Fix preset MAM4xx optics pre and post condition bounds

The updated optics bounds are based on a one-year ne30 simulation,
with some buffer added to catch outlier values.

[BFB]

* meng630/meng/mam4xx/optics_bounds:
  Fix preset optics bounds
…ct#7398)

Add eamxx release-mode tests for GPU machines

Keep e3sm_eamxx_v1 running with all debug=true tests on CPU machines.

[BFB]
…#7401)

add glc_nzoc configuration to moab driver.
It is not configuring even non glc cases without this
more changes will be needed for glc port to moab.

[BFB]
singhbalwinder and others added 30 commits July 1, 2025 18:54
…ct#7479)

Replaces the ekat utils for read/write in baseline tests with standard library calls.

[BFB]
…7459)

The "mam4_microphysics_tendency_gas_phase_chemistry" and
"mam4_microphysics_tendency_aqueous_chemistry" diagnostics are added.
    
This PR also:
  - Adds a namelist flag to control diagnostic output (default: false)
  - Adds a REP CIME test where the namelist flag is turned to true
    
[BFB]
…oject#7247)

This PR changes the default namelist option for snow grain shape for all configurations to
hexagonal_plate, which is used by the SNICAR-ADv3 model to scatter light. Thus, this
option has an appreciable impact on albedo in snow-covered regions. The current default
is sphere, thus this change increases albedo in snow-covered regions (aspect ratio of
snow grains increases from 1 to 2.5).

This change is motivated by a significant albedo bias over polar ice sheets and a related
summertime warm surface air temperature bias.

This change is supported by hexagonal_plate being the default in CLM5.

[CC]
When updating the views after subview info changes, we also need to update the stored subview (for later check).

Also, modify model_restart test, so that we don't re-run the 1st part of the run. Instead, make the base run also
write the restart file (like CIME does). Note: this requires running less than 2*rest_freq steps, or else the rpointer
file will be nuked, and the rest run will NOT find the first .r file. Hence, run 2+1 steps (with restart every 2) rather
than 1+1.
)

Fix the abort routines in mpas-framework to use shr_sys_abort when coupled

Fix the abort routines in mpas-framework so that log_abort calls
mpas_dmpar_global_abort and mpas_dmpar_global_abort itself uses
shr_sys_abort when running as a coupled model.

Fixes E3SM-Project#7447
[BFB]
- Create horiz/vert remappers in separate calls
- Allow to pass a pre-built vertical remapper
…7484)

EAMxx: Exposes 3D diagnostic fields for aqueous SO4 and H2SO4 production and sink

Two 3D diagnostic fields are added to the MAM4xx microphysics interface.

[BFB]

* singhbalwinder/eamxx/expose_3d_diags:
  Point to MAM4xx main branch
  EAMxx: Expose 3D diagnostic fields for aqeous SO4 and H2SO4 production and sink
…#7476)

Copy correction factors from mct to moab which eliminates differences
between the two within the combined coupler in driver-moab (when reading maps).

Ignore for the time being the correction factors computed by moab.
Also add and remove a mesh write in MOABDEBUG.
…3SM-Project#7424)

When radiation does not run, fill the rad output fields with FillValue; also fill with FillValue the diagnostics ShortwaveCloudForcing and LongwaveCloudForcing in those steps.

[non-BFB for rrtmgp output and rad diagnostics only]
Only require that it inherits from VerticalRemapper for
non-Custom remap type
Namely, whether interfaces and midpoints are treated
in the same way (for src and tgt grids) must be declared
during construction, and it is not deduced at setup time
Make it non-const to allow adding metadata to the grid
…roject#7487)

This PR allows to setup the DataInterpolation class using a custom vertical remapper.
This will allow MAM to do whatever it wants for vert remap, without injecting MAM-specific
stuff in the share folder.

[BFB]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.